/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package carrancao.controlador;

import carrancao.entidades.ItemProduto;
import carrancao.exception.CadastrarItemProdutoException;
import carrancao.repositorio.ItemProdutoRepositorio;
import java.util.List;
import javax.swing.JOptionPane;

/**
 *
 * @author Lubnnia
 */
public class ItemProdutoControlador {

    private ItemProdutoRepositorio itemRep;

    public ItemProdutoControlador() {
        this.itemRep = new ItemProdutoRepositorio();
    }

    public void validarItemProduto(ItemProduto item) throws CadastrarItemProdutoException {

        if(item.getDescricao().equals("") || item.getQtdProduto() == 0) {
            JOptionPane.showMessageDialog(null, "Favor preencha os campos obrigatórios",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        }

    }

    public void cadastrarItemProduto(ItemProduto item) throws CadastrarItemProdutoException {

        this.validarItemProduto(item);

        this.itemRep.cadastrarItemProduto(item);

        JOptionPane.showMessageDialog(null, "Item Cadastrado com Sucesso!",
                "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
    }

    public boolean alterarItemProduto(ItemProduto item) throws CadastrarItemProdutoException {
        boolean resposta = false;
        if(!(item.getDescricao().equals("") && item.getQtdProduto() == 0)) {
            this.itemRep.alterarItemProduto(item);
            resposta = true;
        } else {
            resposta = false;
        }
        return resposta;
    }

    public void deletarItemProduto(ItemProduto item) {

        if(item != null) {
            this.itemRep.deletarItemProduto(item);
            JOptionPane.showMessageDialog(null, "Dados Excluídos com Sucesso!",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        } else {
            JOptionPane.showMessageDialog(null, "Cliente não existe!",
                    "Mensagem do Sistema", JOptionPane.INFORMATION_MESSAGE);
        }

    }

    public ItemProduto pesquisarItemProdutoPorID(int id) {

        ItemProduto item = this.itemRep.pesquisarItemProdutoPorID(id);

        return item;

    }

    public List pesquisarItemProdutoTodos() {

        List item = this.itemRep.pesquisarItemProdutoTodos();

        return item;

    }

    public List pesquisarItemProdutoPorNome(String nomeItem) {

        List item = this.itemRep.pesquisarItemProdutoPorNome(nomeItem);

        return item;

    }

}
